import React, { Key } from "react";
//引入二次封装的axios请求
import { request } from "@/utils/http";
//import type 提醒 引入的是类型
import type {
  //医院设置中 获取分页列表请求的 参数类型
  getHosSetListParamsType,
  // 医院设置中,获取分页列表请求的 返回值类型
  getHosSetListReturnType,
  //新增医院设置列表的数据类型
  addHospitalRequestType,
  //修改的医院列表数据类型
  // changeHosSetRequestTypt
} from "./model/hospitalSetTypes";

//医院设置中 获取分页列表
export const getHosSetListRequest = ({ page, limit, hosname, hoscode }: getHosSetListParamsType) => {
  //接受传来的参数${page}/${limit}  接受的参数要限制类型 TS
  //get请求 第二个参数配置对象  属性params
  //getHosSetListReturnType 请求返回值的类型
  return request.get<any, getHosSetListReturnType>(`/admin/hosp/hospitalSet/${page}/${limit}`, {
    params: {
      hosname, //医院名称
      hoscode //医院编号
    }
  })
}
//医院设置中新增医院请求
//data要发生的数据 addHospitalRequestType数据
export const addHospitalRequest = (data: addHospitalRequestType) => {
  return request.post<any, null>('/admin/hosp/hospitalSet/save', data)
}
///医院设置中根据Id获取原列表的医院设置
export const getHosSetFromIdRequest =(id:string)=>{
  return request.get<any, null>(`/admin/hosp/hospitalSet/get/${id}`)
}
///医院设置中,修改医院设置,再次提交数据
export const changeHosSetRequest =(data:addHospitalRequestType)=>{
  return request.put<any, null>(`/admin/hosp/hospitalSet/update`,data)
}
//医院设置中删除医院列表
export const deleteHosSetRequest =(id:string)=>{
  return request.delete<any, null>(`/admin/hosp/hospitalSet/remove/${id}`)
}
//医院设置中批量删除医院列表
export const allDeleteRequest =(ids:Key[])=>{
  return request.delete<any, null>(`/admin/hosp/hospitalSet/batchRemove`,{
    data:ids
  })
}